In the process of developing a computer program, various errors may be introduced in the computer program that cause unintentional consequences, such as the program being unable to execute or returning incorrect results. In order to minimize and potentially prevent such errors, program analysis is performed. Program analysis is the process of automatically analyzing the behavior of computer programs during actual or modeled execution. The program analysis may be static or dynamic. Static program analysis is performed without executing the program, whereas dynamic program analysis is performed during the execution of the program.